package com.sunlands.qdcy.deskmate.vo.feign;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author shixiaopeng
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class VipSetMealVO implements Serializable {

    private static final long serialVersionUID = 3965400349618696412L;
    private Long id;

    @ApiModelProperty("名称")
    private String name;

    /**
     * 套餐类型，1月卡，2季卡，3年卡
     */
    @ApiModelProperty("类型，1月卡，2季卡，3年卡")
    private Integer type;


    /**
     * 价格
     */
    @ApiModelProperty("价格")
    private BigDecimal price;

    @ApiModelProperty("原价")
    private BigDecimal originalPrice;


    /**
     * 每月时长，单位分钟
     */
    @ApiModelProperty("每月时长，单位分钟")
    private Long monthTime;

    /**
     * 有效月长
     */
    @ApiModelProperty("有效月长")
    private Long months;

    /**
     * 文案
     */
    @ApiModelProperty("文案")
    private String content;

    @ApiModelProperty("客户端")
    private String os;

    @ApiModelProperty("苹果的商品id")
    private String productId;

    @ApiModelProperty("是否选中，1是，0否")
    private Integer selected;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("是否展示，1展示，0隐藏")
    private Integer show;

    @ApiModelProperty("购买限制次数")
    private Integer limitTimes;

    @ApiModelProperty("vip等级")
    private Integer level;

    public enum TypeEnum {
        month_card(1, "月卡"),
        season_card(2, "季卡"),
        year_card(3, "年卡"),
        temporary_card(4, "临时卡"),
        hour_card(7, "小时卡");
        public final Integer code;
        public final String desc;

        TypeEnum(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

    }
}
